Automatisme 1

Formation - UNITY PRO - 01/2021

4. Config M580

4.1 Nouveau projet

Pas la possibilité de passer en direct d’un automate TSX57 PL7 Pro à un automate M580.

Créer une config finale dans un nouveau projet.

Il faut aussi configurer le nombre maxi de mots déclares dans l’API (M580 accepte jusque 65232 mots / TSX57 jusque 32464).

Figure 22 : Unity Pro Projet > Configuration > Bus automate du M580

Dans la configuration de la carte réseau de l’API il faut activer les paramètres de sécurité propre au réseau procès. Pour cette conversion tous les paramètres de sécurités ont été activés.

Figure 23 : Unity Pro Configuration > Module de communication DIO L2 voie 0

4.2 Carte ASi

Pour cette conversion le client a choisi de remplacer les cartes ASi par des passerelles ASi.

En général les équipements liés à un automate (STB, passerelles ASi, variateurs etc.)

Il faut les programmer avec une classe d’adresse IP différente de l’adresse de l’API.

Le plus simple c’est de prendre le dernière nombre de l’adresse de l’API et de crée un nouveau réseau

(Ex. pour un automate avec l’adresse configuré : 210.111.0.24 (adresse API) -> créer 210.111.24.1 – pour la première carte « Ethernet », 210.111.24.10 pour la première passerelle, 210.111.24.20 pour la deuxième, etc.).

Note : A voir avec le client si les nouvelles plages sont disponibles !

Il faut activer les sécurités sur la carte Ethernet.

Pour communiquer avec les passerelles il faut ouvrir le navigateur DTM « Menu/Outils/Navigateur de DTM ». Pour les équipements qui communiquent en Ethernet/IP on peut importer les fichiers DTM et la structure des variables (ex. Passerelle ASi IFM AC1442) ;

Dans ce cas on utilise des passerelles ASi AC1358 qui communique en MODBUS/TCP, mais cette passerelle n’a pas de DTM prédéfini.

Dans le navigateur DTM il faut cliquer droit sur la carte Ethernet (« BMENOC0301_2 »), et choisir « Ajouter »

Figure 24 : Unity Pro Configuration BME NOC 030 1.2 Ajouter DTM

Dans la nouvelle fenêtre il faut choisir « Modbus Device »

Il faut choisir son nom

La configuration de chaque équipement ; La sélection de la carte Ethernet permet l’affichage d’une structure arborescente d’où on peut paramétrer les équipements. Il y a 3 onglets ;

Dans l’onglet « Propriétés » il faut s’assuré que la configuration est « Activé », donner un nom à la structure de variables (ce nom va s’afficher dans la liste de variables DDT), et s’assurer que le mode d’importation est sur « Manuel »

Figure 25 : Unity Pro Navigateur de DTM > BME NOC 030 1.2 > Liste des équipements > Propriétés

Dans l’onglet « Paramétrage de l’adresse » il faut choisir l’adresse IP de la passerelle

Figure 26 : Unity Pro Navigateur de DTM > BME NOC 030 1.2 > Liste des équipements > Paramétrage de l'adresse

Dans le dernier onglet il faut paramétrer les requetés.

Figure 27 : Unity Pro Navigateur de DTM > BME NOC 030 1.2 > Liste des équipements > Paramétrage de la requête

Note :

« Le bit de connexion » - c’est un index qui s’incrément automatiquement (un numéro unique pour chaque requête) ;

« ID unité » - Il est à « 1 » pour tout le monde ; Adresse MODBUS de l’équipement – 1 pour les passerelles ASi

« Timeout de validité » - valeur par défaut – 1500 ms

« Période de répétition » - 40 ms (Il faut faire attention avec cette valeur ; une valeur trop courte est on risque de perdre des requêtes, une valeur trop grande est on risque de perdre le changement d’état de capteurs rapides)

« Adresse maitre (lectures)/ (écritures) et longueurs » - Pour les passerelles IFM avec 2 maitres la structure de communication est composée de 16 mots pour les modules TOR et 155 mots pour les modules ANA ;

Les adresses MODBUS (lecture/écriture) pour le maitre 1 sont :

  • 4095 – Modules TOR - lecture ;
  • 4524 – Modules TOR - écriture ;
  • 4129 – Modules ANA - lecture ;
  • 4558 – Modules ANA – écriture.

Les adresses MODBUS (lecture/écriture) pour le maitre 2 sont :

  • 8191– Modules TOR - lecture ;
  • 8620 – Modules TOR - écriture ;
  • 8225– Modules ANA - lecture ;
  • 8654 – Modules ANA – écriture.

Une requête ne peut pas dépasser 120 mots donc la trame pour les valeurs ANA a été divise en 2. Par facilité elles contiennent un nombre égal des modules (requête A – modules 1-16, requête B – modules 17-31)

Une requête ne peut pas contenir une longueur impaire (la structure rajoute des mots inutilisés).

Pour chaque requête il faut définir la structure de la trame ; la plus simple solution c’est de déclarer un tableau de mots (type INT) avec une dimension égale à la longueur de la trame ; mais cette solution n’est pas très pratique quand il faut identifier les modules et les voies.

Par contre il faut l’utiliser parce que toutes les structures déclarées seront copiées dans des variables tampons dans des sections similaires au traitement des variables de communications ; Dans ces sections il y a la possibilité de mettre des commentaires et pour chaque modification dans le réseau ASi les structures restent identiques.

Rappel : Chaque modification de la structure oblige à régénère le projet -> chargement complet de l’API (arrêt de l’automate)

Sinon,

La trame qui correspond aux modules TOR a le format suivant :

  • Modules entrées : ASi_z_DI_Escw_x_y,
  • Modules sorties : ASi_z_DO_Escw_x_y,
  • Ou z = M1 ou M2 (1er ou 2eme maitre), x = le numéro du module (1-31), y = la voie de l’entrée/sortie (0-3), w = type d’adresse (standard ou étendue – A ou B);

La trame qui correspond aux modules ANA a le format suivant :

  • Modules entrées : ASi_z_AI_Esc_x[y],
  • Modules sorties : ASi_z_AO_Esc_x[y],
  • Ou z = M1 ou M2 (1er ou 2eme maitre), x = le numéro du module (1-31), y = la voie de l’entrée/sortie (0-4);

Note : Dans une passerelle ASi la structure pour les modules TOR c’est : un octet par module ou les 4 premiers bits sont les bits pour l’esclave A (voies 0-3), et les 4 derniers sont les bits pour l’esclave B (voies 0-3) ;

Ne pas confondre les esclaves A/B avec les maitres A et B ;

La structure pour les modules ANA c’est 5 mots de 16bits, ou les premiers 4 mots sont affectés aux voies et le dernier à l’état des voies.

Figure 28 : Structure de la première trame d’entrées

Figure 29 : Structure des modules d’entrées TOR

!! Les profiles des adresses étendues ne sont pas déclarés ici (Bits de 4-7)

Les noms :

ASi_M1_DI_EscA_01_0 pour l’entrée 0 TOR du module 1 (adresse A) du maitre 1

ASi_M1_DI_EscB_01_1 pour l’entrée 0 TOR du module 1 (adresse B) du maitre 1

Figure 30 : Structure des modules de sorties TOR

!! Les profiles des adresses étendues ne sont pas déclarés ici (Bits de 4-7)

ASi_M1_DO_EscA_01_0 pour la sortie 0 TOR du module 1 (adresse A) du maitre 1

ASi_M1_DO_EscB_01_1 pour la sortie 0 TOR du module 1 (adresse B) du maitre 1

Figure 31 : Structure des modules d’entrées ANA

ASi_M1_AI_Esc_01[0] pour l’entrée 0 ANA du module 1 du maitre 1

Figure 32 : Structure des modules de sorties ANA

ASi_M1_AO_Esc_01[0] pour la sortie 0 ANA du module 1 du maitre 1

Note : Chaque changement dans la structure oblige à régénérer le projet !

Pour cette version du projet on a été obligé de recréer 3 fois les structures ; On n’a pas trouvé de méthode pour exporter/importer la structure.

4.3 Taches Mast et Fast

Il faut exporter chaque tache depuis le programme converti et l’importer dans le nouveau (celui lors de l’export) avec la config du M580). A l’export, il faut cocher « avec DDT » et « avec DFB »

Note : Attention à l’import de la tâche « FAST » ; il faut l’importer en gardant les variables pour éviter la duplication des symboles; L’avantage de l’import c’est l’élimination de tous les symboles non utilisés.

A l’import, le logiciel oblige à renommer toutes les sections/variables qui ont des caractères spéciaux (ex. é, à, etc.).

Figure 33 : Unity Pro MAST > Exporter...

Figure 34 : Unity Pro export de Tache_MAST.XPG

Figure 35 : Unity Pro Programme > Tâches > Importer...

Figure 36 : Rapport sur les problèmes d'import. Garder tout

Il faut choisir « Garder tout » pour éviter la duplication des variables dans la tache FAST.

4.4 Correctif des erreurs

Après l’import il faut corriger :

4.4.1 Les erreurs de frappes

4.4.2 Les erreurs de temporisation

Dans la conversion PL7-> Unity avec un automate TSX57, le bloc de temporisation de type TM est proposée comme une version obsolète. Car, cette fonction n’existe pas pour les processeurs M580.

Donc il faut recréer une fonction, identique, avec les mêmes entrées/sorties, variables publiques/privées, créer des instances avec le même nom que la fonction de temporisation (Ex.TM0 -> TM0), et recrée une section d’initialisation qui est appelée UNE SEULE FOIS, AU DÉMARRAGE pour forcer les valeurs de paramètres.

Ex. tempo à la seconde ou à la minute, valeur initiale TM0.v=5 secondes, etc.

Figure 37 : Structure du bloc de temporisation (l’équivalent du PL7 Pro - tempo)

Figure 38 : Pb. à l’import

Figure 39 : L’instance de la fonction recréée avec le même nom

Figure 40 : La section de paramétrage au démarrage

En commentaire se trouve la liste des blocs prédéfinis paramétrés dans le programme d’origine.

4.4.3 L’affectation des symboles d’entrées/sorties sur les passerelles

Dans la liste de variables il faut utiliser la colonne « Alias pour » pour renseigner la position du symbole souhaité. Pour faciliter la lecture (détecter la position du symbole) il faut mettre sa position dans le commentaire (pour indication).

Figure 41 : liste des variables > dernière colonne Alias pour la position du symbole

Figure 42 : Sections > Evapo : Evap_maitre_4800 > sélection du symbole E_BAEPV_NB

Il n’y a pas d’indication de position à la sélection du symbole.

Il est important de mettre la position en commentaire.

4.4.4 Vérification des régulations

Vérifier le remplacement des limites hautes et basses du tableau de paramètres de l’ancienne fonction PID (par défaut des mots double entiers) par des mots entiers pour le tableau de paramètres de la nouvelle fonction PID_INT de remplacement.

Attention si les valeurs d’origine dépassent 32000, il faut renseigner les 2 mots (poids fort et poids faible) de chaque limite.

Figure 43 : Vérification des limites du tableau des régulations